package com.myf.mappers;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.myf.dtos.SelectItem;
import com.myf.dtos.material.MaterialQueryOutput;
import com.myf.entities.MaterialEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface MaterialMapper extends BaseMapper<MaterialEntity> {
    /**
     * @param map <ul>
     *                          <li>id- id</li>
     *                          <li>name - 仓库名称</li>
     *                        </ul>
     * @return int
     */
    int isNameExists(Map<String, Object> map);

    /**
     * 分页查询数据
     * @param map 查询对象
     *       <ul>
     *         <li>keyword - 关键字</li>
     *         <li>limit - 最后删除人</li>
     *         <li>offset - 最后删除时间</li>
     *       </ul>
     * */
    List<MaterialQueryOutput> getPaginationList(Map<String, Object> map);

    /**
     * 分页查询数据
     * @param map 查询对象
     *       <ul>
     *         <li>keyword - 关键字</li>
     *       </ul>
     * */
    int getPaginationCount(Map<String, Object> map);

    /**
     * @param map
     *             <ul>
     *               <li>ids - id集合</li>
     *               <li>deleteBy - 最后删除人</li>
     *               <li>deleteAt - 最后删除时间</li>
     *             </ul>
     * @return 影响的行数
     */
    int removeByIds(Map<String, Object> map);

    /**
     * 获取下拉框选项
     * @param keyword 关键字搜索
     * @return 列表
     */
    List<SelectItem> getForSelectItems(@Param("keyword") String keyword);
}
